1. Field of the Invention
The present invention relates generally to wireless communication systems.
2. Description of Related Art
The General Packet Radio Service (GPRS) is a 2.5G technology (bridging the gap between voice-centric, second generation (2G) wireless technologies and 3G wireless communications technologies) that allows short bursts of data between a mobile station and a network such as the Internet. The short transmissions allow for less costly connectivity than a constant connection, but work best with specialized services designed for such types of communication. GPRS has been supported by the Global System for Mobile communications (GSM), a 2G technology, beginning from Release 97 (R97), and by the 3G Universal Mobile Telecommunications Service (UMTS) beginning with the Third Generation Partnership Project (3GPP) Release 99 (R99).
Support of the GPRS requires that a Serving GPRS Support Node (SGSN) and a Gateway GPRS Support Node (GGSN) tunnel packets between each other using a protocol known as GPRS tunneling protocol (GTP). In general, SGSNs exchange packets with mobile stations over the radio access network (RAN) and GGSNs; GGSNs exchange packets with SGSNs and with other internet protocol (IP) networks, referred to as packet data networks. The SGSN and GGSN tunnel packets exchanged between them so that when a mobile station changes its point of attachment to the network (such as in the case when a mobile has moved, that is it has changed from one SGSN to another SGSN where it is located), packets may be sent to and received by the MS. The GTP allows for the set-up and maintenance of GTP tunnels via the GTP tunnel's own signalling. A GTP tunnel is a necessary mechanism in the forwarding of packets between an external packet data network and an MS user in GPRS and UMTS networks.
Before R99, the support of GPRS was based on the use of a GTP version known as GTPv0. GTPv0 is specified in the 3GPP Technical Specification entitled “GPRS Tunnelling Protocol (GTP) across the Gn and Gp Interface, (Release 1998)”, 3G TS 09.060, Version 7.9.0 (2002-06) and earlier versions of 3G TS 09.060. Due to the need to support additional features allowed by the introduction of 3G systems such as UMTS, a revised protocol version has been developed, known as GTPv1. GTPv1 is specified in 3GPP Technical Specification entitled “GPRS Tunnelling Protocol (GTP) across the Gn and Gp interface (Release 6), 3G TS 29.060, V6.3.0 (2003-12) and earlier versions and Releases of 3G TS 29.060.
The GTPv0 protocol supported the tunnelling traffic (GTP tunnels used to carry MS traffic) and the tunnelling signalling (GTP used to set up and maintain GTP tunnels used to carry MS traffic) over the User Datagram Protocol (UDP) port 3386. The GTPv1 protocol supports tunnelling traffic (known as GTP-U) over UDP port 2152 and tunnelling signalling (known as GTP-C) over port 2123. GTP-U messages are exchanged between GSN pairs or GSN/RNC pairs in a path. A GTP-U message is a user plane messages that carries user data packets and signalling messages for path management and error indication. GTP-C messages are exchanged between GSN/RNC pairs in a path. GTP-C messages are control plane messages used to transfer GSN capability information between GSN pairs, to create, update and delete GTP tunnels and for path management, for example.
There is a current market requirement that wireless systems and technologies be able to support dual mode terminals (that is, to be able to support both a 2G GSM mobile station as well as a 3G UMTS mobile terminal) and also to permit an SGSN supporting both GTPv1 and GTPv0 to be able to contact a GGSN supporting only GTPv0, so as to allow for a smooth migration from GSM to UMTS.
However, for a node supporting both GTPv0 and GTPv1, the current way to ‘fall back’ to GTPv0 after trying to contact a GTPv0-only node is by waiting for a given number of timeouts to elapse and a number of attempts to fail using GTPv1, before GTPv0 may be used. This procedure is described in Section 11.1.1 of TS 29.060, entitled “Different GTP Versions.
It should be noted that this is due to the fact GTPv0 listens on port 3386 only and not on port 2123 the GTPv1 capable node uses to send GTPv1 signalling. In other words, GTPv1 runs on different UDP/IP ports than GTPv0, and the 3GPP standards (such as 3GPP TS 23.060 and 3GPP TS 29.060) do not clearly define how a GSN (such as an SSGN) discovers whether or not another GSN (such as a GGSN) supports GTPv1.
Ambiguities in the standards, coupled with the problem of excessive timeouts, may cause non-desirable delays. If the same port was used to exchange signalling in the two versions, then it would have been possible for the GTPv0 node to detect an incoming GTP packet of GTPv1 and to send back a “Version not supported message” as described in section 7.2.3 of TS 29.060. Since two completely different ports are being used, the GTPv0 node (whether an SGSN or GGSN) can only detect GTP traffic from GTPv0 nodes (On port 3386). The delay resulting from this scenario has been reason of concern in the industry and has recently been studied by the GSM Association (GSMA), which is a global trade association that represents the interests of more than 600GSM mobile operators. An October 2003 paper from the group, entitled “Discussion Paper on problems found when interworking GSNs of different GTP versions” and found at the link: http://www.3gpp.org/ftp/tsg_cn/WG4_protocollars/tsgN4—21_Bangkok/Tdocs/N4-031282.zip documents these concerns and illustrates these problems. The paper concludes that “The fact that the SGSN potentially has to wait for a specific time-out before dropping back to a lower protocol version is not acceptable”.